Page({
  data: {
    schema:[
    ],
    formData:{
    },
    title: '',
    result: '',
    remark: '',
    apiName: '', 
    resulttranslationListener:null,
    translationListener:null,
    resultofftranslationListener:null,
    translationCallback :null,
    getMenuButtonBoundingListener:null,
    resultonMenuButtonBounding:null,
    onMenuButtonBoundingCallback:null
  },

  onLoad(options) {
      wx.setNavigationBarTitle({
        title: options.title,
      })
      
      this.setData({
        title: options.title,
        zh:options.zh,
        remark: options.remark,
        webUrl: options.webUrl
      })
      const callback = (res) => {
        console.log('用户触发了翻译', res);
      this.data.resulttranslationListener = '用户触发了翻译:'+res
      // res 包含触发翻译的相关信息
      // 例如：res.scene 表示触发场景，可能的值包括 'menu' 等
      
      // 这里可以处理翻译逻辑
      this.handleTranslation();
    };
   // 监听用户触发翻译事件
   this.data.translationListener = wx.onUserTriggerTranslation(callback);
   this.data.translationCallback = callback;
   //监听菜单按钮（右上角胶囊按钮）的布局位置信息变化事件
   const callback1 = (res) => {
      console.log('menuButtonBoundingClientRectWeightChange', res)
      this.data.resultonMenuButtonBounding = res
    }
   this.data.getMenuButtonBoundingListener = wx.onMenuButtonBoundingClientRectWeightChange(callback1);
   this.data.onMenuButtonBoundingCallback = callback1;
  },
// 处理翻译的方法
handleTranslation() {
  // 获取当前页面需要翻译的内容
  const pageContent = this.getPageContent();
  
  // 调用翻译接口或处理翻译逻辑
  wx.showToast({
    title: '开始翻译',
    icon: 'loading',
    duration: 1000
  });
  
  // 模拟翻译过程
  setTimeout(() => {
    wx.showModal({
      title: '翻译完成',
      content: `翻译结果：[模拟翻译] ${pageContent.substring(0, 20)}...`,
      showCancel: false
    });
  }, 1000);
},

// 获取页面内容（示例方法）
getPageContent() {
  // 实际应用中可以根据需要获取页面中的文本内容
  return '这是一段需要翻译的示例文本，包含了页面中的主要信息。';
},
  choose1(e){
    console.log(this.data.resulttranslationListener)
    if(this.data.resulttranslationListener!=null){
      this.setData({
        result: this.data.resulttranslationListener,
        apiName: e.currentTarget.dataset.apiname 
      })
    }else{
      this.setData({
        result: "菜单中翻译功能监听还未触发",
        apiName: e.currentTarget.dataset.apiname 
      })
    }
    
// // 取消监听
// wx.offUserTriggerTranslation(callback)
  },
  choose2(e){
    console.log(this.data.getMenuButtonBoundingListener)
    if(this.data.getMenuButtonBoundingListener!=null){
      this.setData({
        result: this.data.resultonMenuButtonBounding,
        apiName: e.currentTarget.dataset.apiname 
      })
    }else{
      this.setData({
        result: "菜单按钮（右上角胶囊按钮）的布局位置信息变化事件的监听函数未触发",
        apiName: e.currentTarget.dataset.apiname 
      })
    }
  },
  choose3(e){
    // 方法2：使用off方法并传入相同的回调函数
    if (this.data.translationCallback!=null) {
      wx.offUserTriggerTranslation(this.data.translationCallback);
      this.setData({
        result: '用户移除了翻译监听函数',
        apiName: e.currentTarget.dataset.apiname 
      })
    }else{
      this.setData({
        result: "菜单中翻译功能监听还未移除",
        apiName: e.currentTarget.dataset.apiname 
      })
    }
  },
  choose4(e){
    if (this.data.onMenuButtonBoundingCallback!=null) {
      wx.offMenuButtonBoundingClientRectWeightChange(this.data.onMenuButtonBoundingCallback);
      this.setData({
        result: '用户移除菜单按钮（右上角胶囊按钮）的布局位置信息变化事件的监听函数',
        apiName: e.currentTarget.dataset.apiname 
      })
    }else{
      this.setData({
        result: "菜单按钮（右上角胶囊按钮）的布局位置信息变化事件的监听函数还未移除",
        apiName: e.currentTarget.dataset.apiname 
      })
    }
  },
  choose5(e){
    const res = wx.getMenuButtonBoundingClientRect()
    this.setData({
      result: res,
      apiName: e.currentTarget.dataset.apiname 
    })
  }
})